package com.sahyadri.web.util.service.adpater;

import java.util.Date;
import java.util.List;

import com.sahyadri.web.model.Expense;
import com.sahyadri.web.model.ExpenseType;
import com.sahyadri.web.model.UserDetails;
public interface ExpenseService {
    Long createExpense(String description, ExpenseType expenseType, Date expenseDate,
               Double amount, UserDetails user);

    Expense getExpense(Long expenseId);

    List<Expense> getAllExpenses();

    List<Expense> getExpensesByUser(UserDetails user);

    List<Expense> getPendingExpensesList();

    List<Expense> getApprovedAndRejectedExpensesList();

    Expense changeExpenseStatus(Long expenseId, String state);

    void deleteExpense(Long expenseId);

    void updateExpense(Expense expense);
}
